Software tests are used to validate software, hardware, or a combination of software and hardware. To evaluate the results of a software test, a quality engineer (QE) manually evaluates a test output to determine a test result, which can be a laborious for large amount test results. Alternatively, the tests can be automatically validated using test validation code, which interprets and determines that test result. Although having test validation code may be more effective than manually evaluating the test results, this requires a QE to write and maintain the test validation code. This can be a difficult task, especially when there is a large amount of reported states from the software and/or hardware being tested.